1. Field of the Invention
Embodiments of the invention relate generally to draw commands for graphics, and more specifically to a restart index that sets a topology.
2. Description of the Related Art
In conventional graphics processing systems, an application programming interface (API), such as OpenGL, is used to convey scene information comprising primitive draw commands from a user application to a rendering engine. The rendering engine typically includes a graphics processing unit (GPU) configured to receive the primitive draw commands via buffers residing in memory. The OpenGL API includes explicit begin and end draw commands used to delineate primitive draw commands within an overall command sequence. Primitive draw commands are placed between a begin draw command and an end draw command as part of the overall command sequence, which is conventionally generated by the user application and transmitted via the API to the GPU for rendering. While begin and end draw commands enable the user application to delineate primitive draw commands within the overall command sequence, the begin and end draw commands also introduce overhead in the overall command sequence.
In common usage scenarios, primitive draw commands for different types of primitive topologies are typically intermixed within the overall command sequence. As scene complexity increases and finer scene detail becomes more common, command sequences are incorporating a greater portion of smaller primitives of different intermixed topologies. As a result, overhead in the command sequence is becoming more significant, thereby diminishing overall performance.
Accordingly, what is needed in the art is a technique for reducing the overhead associated with transmitting primitive draw command sequences.